Methods for generating a delayed clock signal

ABSTRACT

An apparatus and method for generating a delayed clock signal is provided. The clock signal generator includes a synchronizing circuit for generating an output clock signal from an input clock signal and further includes a delay circuit having an input coupled to the output of the synchronizing circuit. The delay circuit provides an output clock signal having a delay with respect to the clock signal from the synchronizing circuit according to one of a plurality of programmable time delays selected in accordance with a selection signal. The method of generating a clock signal includes synchronizing an internal clock signal to an external clock signal, and delaying the internal clock signal different amounts based on a selection value indicative of external clock frequency to provide the clock signal.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a divisional of pending U.S. patent application Ser.No. 11/331,300, filed Jan. 11, 2006, which is a divisional of U.S.patent application Ser. No. 10/713,587, filed Nov. 13, 2003, issued Jun.20, 2006 as U.S. Pat. No. 7,065,666 B2.

TECHNICAL FIELD

The present invention relates generally to generating clock signals, andmore specifically, to generating a delayed clock signal for use insynchronizing output circuitry of a synchronous device.

BACKGROUND OF THE INVENTION

In synchronous integrated circuits, the integrated circuit is clocked byan external clock signal and performs operations at predetermined timesrelative the rising and falling edges of the applied clock signal.Examples of synchronous integrated circuits include synchronous memorydevices such as synchronous dynamic random access memories (SDRAMs),synchronous static random access memories (SSRAMs), and packetizedmemories like SLDRAMs and RDRAMs, and include other types of integratedcircuits as well, such as microprocessors. The timing of signalsexternal to a synchronous memory device is determined by the externalclock signal, and operations within the memory device typically must besynchronized to external operations. For example, data are placed on adata bus by the memory device in synchronism with the external clocksignal, and consequently, the memory device must provide the data to thebus at the proper times. To provide the data at the correct times, aninternal clock signal is developed in response to the external clocksignal, and is typically applied to latches contained in the memorydevice to thereby clock the data onto the data bus. The internal clocksignal and external clock must be synchronized to ensure the internalclock signal clocks the latches at the proper times to successfullyoutput the data at the proper times.

To synchronize external and internal clock signals in modern synchronousmemory devices, a number of different approaches have been consideredand utilized, including delay-locked loops (DLLs), phased-locked loops(PLLs), and synchronous mirror delays (SMDs), as will be appreciated bythose skilled in the art. As used herein, the term synchronized includessignals that are coincident and signals that have a desired delayrelative to one another. Additionally, in the present description,“external” is used to refer to signals and operations outside of thememory device, and “internal” to refer to signals and operations withinthe memory device. Moreover, although the present description isdirected to synchronous memory devices, the principles described hereinare equally applicable to other types of synchronous integratedcircuits.

FIG. 1 is a simplified block diagram of output circuitry 100 for aconventional synchronous memory device, as well known in the art. Theoutput circuitry 100 includes an output driver 102 that receivesinternal data signals DATA that represent binary data, and furtherreceives a bidirectional data strobe signal DQS that is generated by aDQS generator 104. The DQS is eventually transmitted externally, alongwith data signals DQ, for use in the capture at a receiving device. Theoutput circuitry 100 is coupled to a DLL 106 and trimmable delay 108 toreceive a clock signal CLKDEL, and has an output coupled to an externaldata terminal of the memory device (not shown) in order to provide thedata to a data bus. The DLL 106 generates a clock signal CLKDLLsynchronized with an external clock signal CLK, which is applied to theDLL 106. The CLKDLL signal is then input to the trimmable delay 108 togenerate the CLKDEL signal, which is a clock signal having a time delaytTRIM relative to the CLKDLL signal. In operation, the output driver 102outputs the DQ and DQS signals in response a transition of the CLKDELsignal.

The trimmable delay 108 is included in the output circuitry 100 to takeadvantage of device performance exceeding the published timingspecifications for the device, typically in order to increase internaltiming margins. In conventional SDRAM devices, the time from when a readcommand is first latched by the memory device to when data is latched bythe output driver 102 and ready to be output in response to the CLKDELsignal, is generally a fixed time that is inherent to the memory device.The time is typically referenced as tAA. Another timing characteristicinherent to a memory device, which will be referenced herein as tOUT, isthe time from when a transition of the CLKDEL signal is detected by theoutput driver 102 and when the DQ and DQS are made available at theexternal terminal for reading. A common timing specification related totOUT is tAC, which is defined as the access window of the DQ relative toa transition of the external CLK signal. That is, valid DQ is guaranteedto be present at the external data terminal no later than tAC after atransition of the CLK signal. As generally known in the art, the actualperformance of the memory device, as measured by tOUT, exceeds thepublished performance, which is guaranteed to be no longer than tAC.

As previously mentioned, where the performance of the memory deviceexceeds the published timing specifications of the memory device,internal timing margins for the memory device can be improved. Oneapproach is to use internal delays, such as the trimmable delay 108, toincrease timing margins for related internal timing parameters. In thespecific case of data output circuitry, such as the output circuitry100, the excess performance of the memory device provided by tOUT overthe published performance specification of tAC is often taken advantageof to increase the timing margin for tAA. The trimmable delay 108 istrimmed to set the time delay tTRIM for the CLKDEL signal relative tothe CLKDLL signal. With more time delay tTRIM, the margin for tAA isincreased. That is, the time for data to be provided to the outputdriver 102 after a read command is registered is increased. For example,with respect to FIG. 2, tTRIM is shown at the maximum time delay whichthe triimmable delay 108 can have and still meet the published tACspecification. The time tAA MARGIN represents additional time the DATAsignal can take to be valid at the input of the output driver 102. Thus,the time for data to be provided to the output driver 102 following thereceipt of a read command is increased, providing a greater range oftAAs that will yield memory devices which meet the published tACperformance specifications. The trimmed memory devices are then sortedfor “speed-grades” based on the actual performance resulting from thetrimming of the trimmable delay 108, as well known.

Although DLLs are assumed to be stable and frequency independent, inmany designs the DLL has a delay component that varies with thefrequency of the input clock signal. For example, the delay of a DLL maybe proportionate with clock frequency, resulting in an output clocksignal, which ideally is synchronized with the input clock signal, thatincreasingly lags the input clock signal as the frequency of the inputclock signal increases. In applications in memory devices that canoperate at different clock frequencies, which many conventional memorydevices can do, the varying delay introduced by a non-ideal DLL willaffect the timing of internal circuitry that relies on the clock signalgenerated by the DLL. With respect to the output circuitry 100, thevarying delay of the DLL 106 will ultimately affect the timing of whenthe DQ and DQS signals will be output by the data driver 102. For memorydevices operating at higher frequencies, unless the skew added by theDLL 106 is accommodated, the memory device may fail to meet publishedtiming specifications.

Further complicating the timing restrictions of a memory device is thatmemory devices that can operate at different clock frequencies have CAS(read) latency restrictions for operations at the various external clockfrequencies, as well known. CAS latency is typically defined as thedelay, in number of clock cycles, between the registration of a readcommand and the availability of the first bit of output data. Generally,CAS latency is a lower value for lower external clock frequencies (e.g.,a CAS latency value of 2 for an external clock frequency of 133 MHz) anda higher value for higher external clock frequencies (e.g., a CASlatency value of 3 for an external clock frequency of 200 MHz). In thismanner, the total time which a memory device has to complete a readoperation can be maintained, to some extent, for operation at thedifferent clock frequencies.

Typically, the varying delay introduced by the DLL 106 is accommodatedby setting the delay of the trimmable delay 108 based on a “worst-case”timing scenario that still meets published timing specifications. Thatis, assuming that the DLL 106 introduces a delay that varies asdescribed above, the delay of the trimmable delay 108 is set assumingthe memory device is operated at the highest published clock frequencyand having the shortest tAC specification. More specifically, in orderfor the memory device to still meet the shortest published tAC whenoperated at the highest published clock frequency, the delay of thetrimmable delay 108 must be reduced to compensate for the increasingdelay of the non-ideal DLL 106. However, as a result of reducing thedelay time of the trimmable delay 108, the overall timing margin for tAAis decreased. Where the memory device is operated at a lower maximumoperating clock frequency, such as for memory devices categorized inslower speed-grades, the margin is further decreased because the timedelay introduced by the DLL 106 is less for lower external clockfrequencies. As previously discussed, having greater tAA margin can havea positive affect on the yield of memory devices that meet publishedtiming parameters. By decreasing the delay of the trimmable delay 108,memory devices that would have otherwise been acceptable under a morerelaxed tAA requirement may now no longer meet the published timingspecifications because of the shorter delay of the trimmable delay 108.Consequently, the yield of acceptable memory devices can be negativelyaffected by setting the trimmable delay 108 to a shorter delay time.

The relationship between the previously discussed internal timing forthe various signals is illustrated in FIGS. 2B and 2C. In FIG. 2B, at atime T0, the CLK signal has a positive signal transition from LOW toHIGH. At a time T1, a time delay tDLL1 after the time T0, the CLKDLLsignal makes a positive transition in response to the CLK signal. Thetime delay tDLL1 represents the time delay of the non-ideal DLL 106 atthe highest published operating frequency, which represents theworst-case timing scenario. At a time T2, the CLKDEL signal has apositive transition due to the set time delay tTRIM, which is set to thedelay of the DLL 106 assuming the highest external clock frequency. Inresponse to the transition of the CLKDEL signal at the time T2, theoutput driver 102 begins to output the DQ and DQS signals. However, asshown in FIG. 2B, a valid DATA signal is not provided to the outputdriver until a time T3, which is after the output driver 102 begins tooutput the DQ and DQS signals. Consequently, the information of the DQsignal output by the output driver 102 at a time T4 is unknown, and isconsidered invalid.

Categorizing the same memory device at a slower speed-grade (i.e.,having a lower maximum operating frequency and relaxed tAC) also doesnot result in a memory device meeting the published specifications, asillustrated by FIG. 2C. At a time T0, the CLK signal has a positivesignal transition. In response, the CLKDLL signal has a positivetransition a time delay tDLL2 later at a time T1. The time delay tDLL2is less than the time delay tDLL1 shown in FIG. 2B because of thenon-ideal characteristic of the DLL 106. More specifically, the timedelay tDLL2 is less than the time delay tDLL1 because of the lowermaximum operating clock frequency for the memory device having a slowerspeed-grade. At a time T2, a time delay tTRIM after the time T1, theCLKDEL signal has a transition, which causes the output driver 102 tobegin outputting the DQ and DQS signal. The time delay tTRIM is the sameas for FIG. 2B because, as previously mentioned, the time delay tTRIM isset based on the worst-case timing scenario, regardless of thespeed-grade of the memory device. At the time T2, valid DATA is stillnot present at the input of the output driver 102, and consequently, theDQ and DQS signals output by the output driver 102 at a time T3 areunknown, and considered invalid. It is not until at a time T4, validDATA reaches the input of the output driver 102.

As illustrated by the timing diagrams of FIGS. 2A and 2B, in some cases,the tAA margin may actually be reduced at a lower clock frequency for amemory device categorized in a slower speed-grade, although the tACspecification is more relaxed. Accommodating the two competing timingparameters, that is, having acceptable tAA margin versus meetingpublished tAC specifications for the highest clock frequency conditions,results in a compromise that attempts to minimize any negative affect tomemory device yield. However, as well known, it is desirable to increasethe yield of acceptable memory devices in order to reduce themanufacturing costs per memory device. Therefore, there is a need for analternative approach to dealing with the tension between the inverselyrelated timing parameters, and which can consequently have a positiveeffect on memory device yield.

SUMMARY OF THE INVENTION

According to one aspect of the present invention, a clock signalgenerator is provided. The clock signal generator includes asynchronizing circuit having an input terminal at which an input clocksignal is applied and an output terminal at which a first delayed clocksignal is provided. The clock signal generator further includes a delaycircuit having an input coupled to the output of the synchronizingcircuit, an output at which an output clock signal is provided, and aselection terminal for receiving a selection signal. The delay circuitprovides an output clock signal having a delay with respect to the firstdelayed clock signal according to one of a plurality of programmabletime delays selected in accordance with the selection signal. In anotheraspect of the invention a method of generating a clock signal isprovided which includes synchronizing an internal clock signal to anexternal clock signal, and delaying the internal clock signal differentamounts based on a selection value indicative of external clockfrequency to provide the clock signal.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a simplified functional block diagram of output circuitry of aconventional memory device.

FIGS. 2A-2C are signal timing diagrams illustrating various signalsgenerated during operation of the conventional output circuitry of FIG.1.

FIG. 3 is a simplified functional block diagram of a synchronous memoryin which embodiments of the present invention can be implemented.

FIG. 4 is a simplified functional block diagram of a delay clockgenerator according to an embodiment of the present invention.

FIGS. 5A and 5B are signal timing diagrams illustrating various signalsgenerated during operation of the delay clock generator of FIG. 4.

FIG. 6 is simplified functional block diagram of a processor-basedsystem including the synchronous memory device of FIG. 3.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 3 is a functional block diagram of a memory device 300 in whichembodiments of the present invention can be implemented. Certain detailsare set forth below to provide a sufficient understanding of theinvention. However, it will be clear to one skilled in the art that theinvention may be practiced without these particular details. In otherinstances, well-known circuits, control signals, and timing protocolshave not been shown in detail in order to avoid unnecessarily obscuringthe invention. The memory device 300 in FIG. 3 is a double-data rate(DDR) synchronous dynamic random access memory (“SDRAM”), although theprinciples described herein are applicable to any memory device that mayinclude a delay-locked loop for synchronizing internal and externalsignals, such as conventional synchronous DRAMs (SDRAMs), as well aspacketized memory devices like SLDRAMs and RDRAMs, and are equallyapplicable to any integrated circuit that must synchronize internal andexternal clocking signals.

The memory device 300 includes a control logic and command decoder 334receives a plurality of command and clocking signals over a control busCONT, typically from an external circuit such as a memory controller(not shown). The command signals include a chip select signal CS*, awrite enable signal WE*, a column address strobe signal CAS*, and a rowaddress strobe signal RAS*, while the clocking signals include a clockenable signal CKE* and complementary clock signals CLK, CLK*, with the“*” designating a signal as being active low. The command signals CS*,WE*, CAS*, and RAS* are driven to values corresponding to a particularcommand, such as a read, write, or auto-refresh command. In response tothe clock signals CLK, CLK*, the command decoder 334 latches and decodesan applied command, and generates a sequence of clocking and controlsignals that control the components 302-332 to execute the function ofthe applied command. The clock enable signal CKE enables clocking of thecommand decoder 334 by the clock signals CLK, CLK*. The command decoder334 latches command and address signals at positive edges of the CLK,CLK* signals (i.e., the crossing point of CLK going high and CLK* goinglow), while the input registers 330 and data drivers 324 transfer datainto and from, respectively, the memory device 300 in response to bothedges of the data strobe signal DQS and thus at double the frequency ofthe clock signals CLK, CLK*. This is true because the DQS signal has thesame frequency as the CLK, CLK* signals. The memory device 300 isreferred to as a double-data-rate device because the data words DQ beingtransferred to and from the device are transferred at double the rate ofa conventional SDRAM, which transfers data at a rate corresponding tothe frequency of the applied clock signal. The detailed operation of thecontrol logic and command decoder 334 in generating the control andtiming signals is conventional, and thus, for the sake of brevity, willnot be described in more detail.

Also included in the control logic 334 are mode registers 335. The moderegisters 335 are programmed with values that define the mode ofoperation of the memory device 300. For example, the different modes ofoperation include the selection of a burst length, burst type, and anoperating mode, as well known. A CAS latency value is also programmed inthe mode registers 335. As previously discussed, the CAS latency is thedelay, in clock cycles, between the registration of a read command andthe availability of the first bit of output data. The CAS latency isgenerally related to the operating clock frequency in that a recommendedCAS latency value is defined for the various operating clock frequenciesof the memory device. As will be explained in more detail below, in oneembodiment of the present invention the CAS latency value programmed inthe mode registers 335 is used for selecting one of a plurality ofdifferent time delays to use in timing the output of data onto a databus. In this manner, internal timing margins can be adjusted based onthe clock frequency of operation, as indicated by the CAS latency value.

Further included in the memory device 300 is an address register 302that receives row, column, and bank addresses over an address bus ADDR,with a memory controller (not shown) typically supplying the addresses.The address register 302 receives a row address and a bank address thatare applied to a row address multiplexer 304 and bank control logiccircuit 306, respectively. The row address multiplexer 304 applieseither the row address received from the address register 302 or arefresh row address from a refresh counter 308 to a plurality of rowaddress latch and decoders 310A-D. The bank control logic 306 activatesthe row address latch and decoder 310A-D corresponding to either thebank address received from the address register 302 or a refresh bankaddress from the refresh counter 308, and the activated row addresslatch and decoder latches and decodes the received row address. Inresponse to the decoded row address, the activated row address latch anddecoder 310A-D applies various signals to a corresponding memory bank312A-D to thereby activate a row of memory cells corresponding to thedecoded row address. Each memory bank 312A-D includes a memory-cellarray having a plurality of memory cells arranged in rows and columns,and the data stored in the memory cells in the activated row is storedin sense amplifiers in the corresponding memory bank. The row addressmultiplexer 304 applies the refresh row address from the refresh counter308 to the decoders 310A-D and the bank control logic circuit 306 usesthe refresh bank address from the refresh counter when the memory device300 operates in an auto-refresh or self-refresh mode of operation inresponse to an auto-refresh or self-refresh command being applied to thememory device 300, as will be appreciated by those skilled in the art.

A column address is applied on the ADDR bus after the row and bankaddresses, and the address register 302 applies the column address to acolumn address counter and latch 314 which, in turn, latches the columnaddress and applies the latched column address to a plurality of columndecoders 316A-D. The bank control logic 306 activates the column decoder316A-D corresponding to the received bank address, and the activatedcolumn decoder decodes the applied column address. Depending on theoperating mode of the memory device 300, the column address counter andlatch 314 either directly applies the latched column address to thedecoders 316A-D, or applies a sequence of column addresses to thedecoders starting at the column address provided by the address register302. In response to the column address from the counter and latch 314,the activated column decoder 316A-D applies decode and control signalsto an I/O gating and data masking circuit 318 which, in turn, accessesmemory cells corresponding to the decoded column address in theactivated row of memory cells in the memory bank 312A-D being accessed.

During data read operations, data being read from the addressed memorycells is coupled through the I/O gating and data masking circuit 318 toa read latch 320. The I/O gating and data masking circuit 318 supplies Nbits of data to the read latch 320, which then applies two N/2 bit wordsto a multiplexer 322. In the embodiment of FIG. 3, the circuit 318provides 64 bits to the read latch 320 which, in turn, provides two 32bits words to the multiplexer 322. A data driver 324 sequentiallyreceives the N/2 bit words from the multiplexer 322 and also receives adata strobe signal DQS from a strobe signal generator 326 and a delayedclock signal CLKDEL from a delay clock generator 400 according to anembodiment of the present invention. The DQS signal is used by anexternal circuit such as a memory controller (not shown) in latchingdata from the memory device 300 during read operations. In response tothe delayed clock signal CLKDEL, the data driver 324 sequentiallyoutputs the received N/2 bits words as a corresponding data word DQ,each data word being output in synchronism with a rising or falling edgeof a CLK signal that is applied to clock the memory device 300. The datadriver 324 also outputs the data strobe signal DQS having rising andfalling edges in synchronism with rising and falling edges of the CLKsignal, respectively. Each data word DQ and the data strobe signal DQScollectively define a data bus. As will be appreciated by those skilledin the art, the CLKDEL signal from the delay clock generator 400 is adelayed version of the CLK signal, and the delay clock generator 400adjusts the delay of the CLKDEL signal relative to the CLK signal toensure that the DQS signal and the DQ words are placed on the data busto meet published timing specifications for the memory device 300. Inthe memory device 300, the time delay by which the CLKDEL signal isadjusted by the delay clock generator 400 is based on a LAT value, whichis representative of the CAS latency value programmed in the moderegisters 335. The data bus also includes masking signals DM0-M, whichwill be described in more detail below with reference to data writeoperations.

During data write operations, an external circuit such as a memorycontroller (not shown) applies N/2 bit data words DQ, the strobe signalDQS, and corresponding data masking signals DM0-X on the data bus. Adata receiver 328 receives each DQ word and the associated DM0-Xsignals, and applies these signals to input registers 330 that areclocked by the DQS signal. In response to a rising edge of the DQSsignal, the input registers 330 latch a first N/2 bit DQ word and theassociated DM0-X signals, and in response to a falling edge of the DQSsignal the input registers latch the second N/2 bit DQ word andassociated DM0-X signals. The input register 330 provides the twolatched N/2 bit DQ words as an N-bit word to a write FIFO and driver332, which clocks the applied DQ word and DM0-X signals into the writeFIFO and driver in response to the DQS signal. The DQ word is clockedout of the write FIFO and driver 332 in response to the CLK signal, andis applied to the I/O gating and masking circuit 318. The I/O gating andmasking circuit 318 transfers the DQ word to the addressed memory cellsin the accessed bank 312A-D subject to the DM0-X signals, which may beused to selectively mask bits or groups of bits in the DQ words (i.e.,in the write data) being written to the addressed memory cells.

FIG. 4 illustrates a delay clock generator 400 according to anembodiment of the present invention. The delay clock generator 400 iscoupled to an output driver 324 that receives data signalsrepresentative of binary data DATA and further receives a data strobesignal DQS from a DQS generator 326. The output driver 324 and DQSgenerator 326 are similar in design and operation as previouslydescribed with respect to the conventional output circuitry 100 of FIG.1, and description thereof will not be repeated in the interest ofbrevity. The delay clock generator 400 includes a delay-locked loop(DLL) 106 that provides a clock signal CLKDLL, which is ideallysynchronized with respect to the external clock signal CLK, to aplurality of trimmable delays 411, 412, 413. The DLL 106 is conventionalin design and operation, as previously described with respect to theoutput driver circuitry (FIG. 1), and is non-ideal in that the DLL 106includes a delay component that increases as the frequency of the CLKsignal increases.

The trimmable delays 411, 412, 413 can be trimmed to set respective timedelays tTRIM1, tTRIM2, tTRIM3. When activated, the trimmable delays 411,412, 413 provide an output clock signal having a respective delayrelative to the CLKDLL signal. The resulting clock signal can be used asthe delayed clock signal CLKDEL for triggering the output driver 102 tooutput data signals DQ and DQS signals. Selection of which one of thetrimmable delays 411, 412, 413 to activate is through the use of the CASlatency value LAT(A), LAT(B), LAT(C) programmed in the mode register 335of the control logic 334 (FIG. 3). The delay clock generator 400receives a LAT signal that is indicative of the CAS latency valueprogrammed in the mode register 335, and as shown in FIG. 4, thetrimmable delay 411 is activated when the LAT signal has a LAT(A) value,the trimmable delay 412 is activated when the LAT signal has a LAT(B)value, and the trimmable delay 413 is activated when the LAT signal hasa LAT(C) value.

The delay clock generator 400 provides the flexibility to tailor a timedelay for the CLKDEL signal to accommodate different external clockfrequencies at which a memory device in which the delay clock generator400 is located can be operated. As previously discussed, the externalclock frequency at which a memory device is operated is typicallyrelated to the CAS latency value that is programmed in the mode register335. By selecting which trimmable delay 411, 412, 413 to activate basedon the CAS latency value, a different time delay can be added to theCLKDLL signal for different external clock frequencies. In oneembodiment, the time delays are trimmed such that for lower CAS latencyvalues (i.e., lower external clock frequencies), longer time delays areprovided. As will be explained in more detail below, providing differenttime delays can increase the yield of memory devices categorized forslower speed-grades; which are limited to lower maximum external clockfrequencies and have relaxed tAC timing. Since the amount of delaybetween the CLKDLL signal and the CLKDEL signal is not limited to the“Worst-case” scenario, which assumes the highest possible external clockfrequency and the shortest tAC, the relaxed timing resulting from thelower maximum external clock frequency can be advantageously used toimprove the internal timing margin of the memory device. As a result,those memory devices that marginally fail the published timingspecifications under the trimmed delay for the worst-case timingsituation may be able to meet the published timing specifications undermore relaxed internal timing, as provided by using a different timedelay between the CLKDEL signal with respect to the CLK signal for thelower maximum operating clock frequency.

The delay clock generator 400 operates in much the same manner as theDLL 106, and the trimmable delay 108 previously described with respectto the output circuitry 100 of FIG. 1. However, the delay clockgenerator 400 can provide a CLKDEL signal having different delayrelationships with respect to the CLKDLL signal based on the programmedCAS latency value, rather than being limited to one time delayregardless of the CAS latency. Each of the trimmable delays 411, 412,413 is preferably trimmed to have a different time delay. Consequently,the timing of the CLKDEL signal with respect to the CLKDLL signal can bedifferent for different CAS latencies. When the memory device 400 isoperating, the appropriate trimmable delay 411, 412, 413 is activatedaccording to the CAS latency value programmed in the mode register 335,and provides a CLKDEL signal having a time delay with respect to theCLKDLL signal of the activated trimmable delay. The remaining trimmabledelays remain inactive and do not output any clock signal.

Advantages provided by the delay clock generator 400 will be explainedwith reference to FIGS. 5A and 5B. FIG. 5A is the same as the partialtiming diagram of FIG. 2B, which shows the situation where tAA is toolong to meet the published timing specifications for a firstspeed-grade. More specifically, the memory device fails to provide validDQ signals within tAC1 as a result of the tAA being too long. Aspreviously discussed with respect to FIG. 2B, down-grading thespeed-grade of the conventional memory device still does not result inan acceptable memory device although the tAC specification is relaxed atthe lower speed-grade. The reason, as previously discussed, is thatdespite the longer tAC2, the tAA is still unacceptably long. Moreover,because the time delay tDLL decreases for lower external clockfrequencies due to the non-ideal characteristics of the DLL 106, andbecause the trimmable delay tTRIM is set for the worst case timingscenario, the time by which the memory device fails because of its tAAactually increases.

In contrast to the conventional memory devices, the delay clockgenerator 400 can adjust to provide greater internal timing marginthrough the use of the plurality of trimmable delays which can beselected based on the CAS latency value programmed in the mode register335. FIG. 5B shows a timing diagram of various clock signals generatedduring the operation of the delay clock generator 400. FIG. 5Brepresents the timing of signals for a slower speed-grade, that is,having a lower maximum operation clock frequency and relaxed tACspecifications. At a time T0, the CLK signal transitions from LOW toHIGH. In response, at a time T1, the CLKDLL signal transitions from LOWto HIGH as well. Note that the time delay tDLL2 is less than the timedelay tDLL1 of FIG. 5A because of the non-ideal nature of the DLL 106.At a time T3, that is, a time delay of tTRIM2 after the CLKDLL signalmakes its positive transition, the CLKDEL signal makes a transition fromLOW to HIGH. Significantly, the time delay tTRIM2 of FIG. 5B is longerthan the time delay tTRIM1 of FIG. 5A. Under the signal timing shown inFIG. 5A, a first CAS latency value activates a corresponding trimmabledelay to provide the time delay tTRIM1. However, under the signal timingshown in FIG. 5B, a second CAS latency value activates a secondtrimmable delay to provide the different time delay tTRIM2. To theextent that the lower operating clock frequency of the slowerspeed-grade does not provide sufficient internal timing margin for thememory device to pass as an acceptable memory device, the additionaltime provided by the longer time delay of tTRIM2 may provide sufficienttiming margin for the memory device to pass.

As a result of the time delay tTRIM2 being longer than the time delaytTRIM1, by the time the CLKDEL signal makes its positive transition atthe time T3, a valid DATA signal is already latched at the input of theoutput driver 102 at a previous time T2. Valid DQ signals will beprovided by the output driver 102 at a time T4, which is a time tOUTafter the CLKDEL signal transitions. As shown in FIG. 5B, the time T4 iswithin the tAC2 specification. Thus, unlike the conventional memorydevice previously described, the memory device 400 meets the publishedtiming specifications, and also has sufficient internal timing margin,as provided by the delay clock generator 400, to pass as an acceptablememory device for the slower speed-grade.

It will be appreciated that the design and operation of the functionalblocks described herein can be conventional, and are well known to thoseordinarily skilled in the art. Moreover, various modifications can bemade to the specific embodiment described herein without departing fromthe scope of the present invention. For example, in one embodiment ofthe present invention, the number of trimmable delays included in thedelay clock generator corresponds to the number of different latenciesavailable for a memory device. Additionally, the trimming mechanism usedfor the trimmable delays can be through the use of antifuses, oralternatively, through the use of fuses trimmed or programmed accordingto conventional methods. Another example is modifying the trimmabledelay structure of the delay clock generator such that instead ofseveral parallel delay paths, one of which is selected for operationbased on the CAS latency value, a series of delays can be trimmed andthen selected time delay can be increased or decreased based on the CASlatency value. The scope of the present invention is not limited to theparticular embodiments described herein.

FIG. 6 is a block diagram of a processor-based system 600 includingcomputer circuitry 602 including the memory device 300 of FIG. 3.Typically, the computer circuitry 602 is coupled through address, data,and control buses to the memory device 300 to provide for writing datato and reading data from the memory device. The computer circuitry 602includes circuitry-for performing various computing functions, such asexecuting specific software to perform specific calculations or tasks.In addition, the processor-based system 600 includes one or more inputdevices 604, such as a keyboard or a mouse, coupled to the computercircuitry 602 to allow an operator to interface with the computersystem. Typically, the processor-based system 600 also includes one ormore output devices 606 coupled to the computer circuitry 602, such asoutput devices typically including a printer and a video terminal. Oneor more data storage devices 608 are also typically coupled to thecomputer circuitry 602 to store data or retrieve data from externalstorage media (not shown). Examples of typical storage devices 608include bard and floppy disks, tape cassettes, compact disk read-only(CD-ROMs) and compact disk read-write (CD-RW) memories, and digitalvideo disks (DVDs).

From the foregoing it will be appreciated that, although specificembodiments of the invention have been described herein for purposes ofillustration, various modifications may be made without deviating fromthe spirit and scope of the invention. Accordingly, the invention is notlimited except as by the appended claims.

1. A method of generating a clock signal, comprising: synchronizing aninternal clock signal to an external clock signal; and delaying theinternal clock signal different amounts based on a column address strobelatency value to provide the generated clock signal, the differentamounts of delay provided by at least two time delays coupled to receivethe internal clock signal and having different time delays.
 2. Themethod of claim 1 wherein delaying the internal clock signal differentamounts based on a selection value comprises activating one of aplurality of delay circuits coupled to receive the internal clock signaland having a respective time delay, the activated delay circuitproviding an output clock signal having the respective delay relative tothe internal clock signal for use as the generated clock signal.
 3. Themethod of claim 2 wherein delaying the internal clock signal differentamounts based on a selection value comprises selecting one of theplurality of delay circuits to activate based on a column address strobelatency value.
 4. The method of claim 3 wherein the plurality of delaycircuits comprises a number of delay circuits equal to the number ofpossible column address strobe latency values.
 5. A method of generatinga clock signal, comprising: synchronizing an internal clock signal to anexternal clock signal; and activating one of a plurality of delaycircuits based on a column address strobe latency value to provide anactivated delay circuit, the plurality of delay circuits coupled toreceive the internal clock signal and having different time delays, theactivated delay circuit providing an output clock signal having arespective delay relative to the internal clock signal for use as thegenerated clock signal.
 6. The method of claim 5 wherein the pluralityof delay circuits comprises a number of delay circuits equal to thenumber of possible column address strobe latency values.
 7. The methodof claim 6 wherein each of the plurality of delay circuits comprises aprogrammable delay element.
 8. The method of claim 7 wherein theprogrammable delay elements comprise a delay element programmable byprogramming antifuses.
 9. The method of claim 8 wherein the plurality ofdelay circuits comprise at least a first and second delay circuit havefirst and second time delays, respectively, the first time delay greaterthan the second time delay, the first delay circuit activated for aninput clock frequency less than a threshold frequency and the seconddelay circuit activated for an input clock frequency greater than thethreshold frequency.
 10. A method of generating a clock signal,comprising: synchronizing an internal generated clock signal to anexternal generated clock signal; and delaying the internal clock signalthrough one of a plurality of delay circuits to provide the clocksignal, each delay circuit have a different delay, the one of theplurality of delay circuits selected according to a column addressstrobe latency value.
 11. The method of claim 10 wherein the pluralityof delay circuits comprises a number of delay circuits equal to thenumber of possible column address strobe latency values.
 12. The methodof claim 10 wherein the plurality of delay circuits comprise at least afirst and second delay circuit have first and second time delays,respectively, the first time delay greater than the second time delay,the first delay circuit activated for an external clock frequency lessthan a threshold frequency and the second delay circuit activated for anexternal clock frequency greater than the threshold frequency.
 13. Themethod of claim 10 wherein delaying the internal clock signal throughone of a plurality of delay circuits comprises activating one of theplurality of delay circuits, each of the plurality of delay circuitscoupled to receive the internal clock signal.